Not Applicable
Not Applicable
This invention relates to analog-to-digital conversion of video image frames, and more particularly to employing image luminance histograms to detect the presence of and correct luminance values of a video signal.
Presentations using multimedia projection display systems have become popular for conducting sales demonstrations, business meetings, and classroom instruction. In a common mode of operation, multimedia projection display systems receive analog video signals from a personal computer (xe2x80x9cPCxe2x80x9d). The video signals represent still, partial-, or full-motion display images of the type rendered by the PC. The analog video signals are converted into digital video signals to control digitally-driven display devices, such as a transmissive or reflective liquid crystal displays or digital micro-mirror devices (hereafter xe2x80x9clight valvesxe2x80x9d), to form the display images for projection onto a display screen. A wide variety of such display systems are available from In Focus Systems, Inc., the assignee of this application.
A necessary feature of multimedia display systems is compatibility with the various analog video signal modes and levels generated by PCs and other video sources. The modes typically range from 640xc3x97480 to 1600xc3x971200 resolutions provided at image refresh rates ranging from 60 Hz to 100 Hz. The resolution expresses the number of controllable horizontal and vertical pixel elements that can be turned on and off. Given the variety of display modes, multimedia display systems include an interface that attempts to convert the various analog video signal levels and modes to digital video signals suitable for controlling the light valves.
Analog video signals typically include image information (signal levels) for each of the red, green and blue colors, and timing signals, which may include a horizontal synchronizing pulse (xe2x80x9cHSYNCxe2x80x9d) and a vertical synchronizing pulse (xe2x80x9cVSYNCxe2x80x9d), or a composite image and sync signal. The color image information is stored in the PC memory as digital color data and is converted to the analog video signals by digital-to-analog converters. When composite sync is employed, a conventional sync separator is used to extract the HSYNC and VSYNC timing pulses.
The timing signals synchronize the scanning of the analog video signals across a raster-scanned display device. The HSYNC pulse controls the horizontal scanning timing, and the VSYNC pulse controls the vertical scanning or video frame refresh timing.
FIG. 1 shows that each video frame 1 typically includes a central active video region 2 surrounded by an inactive or blanked margin 3. The resolution of a raster-scanned display refers to the number of displayable image information points (xe2x80x9cpixelsxe2x80x9d) in active video region 2.
Because the light valves employed by multimedia display systems require digital video signals, either the light valve or the display system normally includes an analog-to-digital converter (xe2x80x9cADCxe2x80x9d) for converting the PC-generated analog video signals into a digital format suitable for driving the light valve. The ADC is typically digitizes samples of the analog video signal under control of a voltage-controlled oscillator (xe2x80x9cVCOxe2x80x9d), which is in turn controlled by a phase-locked loop (xe2x80x9cPLLxe2x80x9d) that locks to a predetermined multiple xe2x80x9cnxe2x80x9d of the HSYNC pulses.
FIG. 2 shows an exemplary analog signal waveform 4, with plateau regions (pixel data components) 5 that correspond to the color levels of individual pixels in the image display. Consecutive pixel data components 5 are connected by signal transition regions 6.
FIG. 2 further shows a typical pixel clock waveform 7, which is generated by the VCO. The number n of pixel clock pulses 8 per HSYNC pulse is typically set to match the resolution mode established by the PC or other analog video source. To determine the resolution mode, certain characteristics of the analog video signal, such as the number of HSYNC pulses per VSYNC pulse, may be used to refer to a mode lookup table. The resulting number n is set to equal the number of pixel data components in each horizontal line of the analog video signal, including those in active video region 2 and blanked margins 3 (FIG. 1). For example, for a 640xc3x97480 screen resolution, n may be set to about 800 to include pixels in blanked regions 3 on either side of the 640 pixel-wide active video region 2. Thus, pixel clock pulses 8 would cause the ADC to sample analog signal waveform 4 about 800 times along each horizontal scan line of video frame 1. Unfortunately, n is usually an approximation because it is often difficult to determine the exact proportion of active video region 2 to blanked margin regions 3 (FIG. 1).
FIG. 2 also shows the desired timing relationship between analog signal waveform 4 and pixel clock waveform 7. Ideally, the number n of pixel clock pulses 8 is set to establish a one-to-one relationship between pixel clock pulses 8 and pixel data components 5 of analog signal waveform 4. This one-to-one relationship requires that the pixel clock signal frequency be equal to the analog video signal frequency. Under this relationship, each pixel data component 5 is sampled by a single pixel clock pulse 8, such that the ADC properly digitizes the instantaneous voltage value of each pixel data component 5. Because pixel clock pulses 8 have xe2x80x9cjitterxe2x80x9d zones 9 at their leading and trailing edges, pixel clock pulses 8 should be centered on pixel data components 5, so that the ADC sampling is not randomly shifted by jitter zones 9 into signal transition regions 6 of analog signal waveform 4.
The stream of digitized signal values from the ADC form the digital video data signal is conveyed to the light valve to activate or deactivate its pixels in a pattern corresponding to the image defined by analog signal waveform 4. Unfortunately, such ADC conversion is often imperfect because of sample timing errors caused by pixel clock pulses 8. Such sample timing errors are typically caused by pixel clock frequency deviations (xe2x80x9ctrackingxe2x80x9d errors) and xe2x80x9cphasexe2x80x9d errors, both of which may degrade the quality of images generated by the light valve or valves.
FIG. 3 shows a typical tracking error resulting from improperly setting the number n of pixel clocks along the entirety of pixel clock waveform 7xe2x80x2. As described above, the number n of pixel clock pulses 8xe2x80x2 should be equal to the number of pixel data components 5 of each horizontal line of analog signal waveform 4. An improper setting of n results in pixel data components 5 being sampled at inconsistent points. For example, n is set too large in pixel clock waveform 7xe2x80x2 (i.e. the frequency is too high). The resultant crowding of the pixel clock pulses 8xe2x80x2 causes an additive leftward drift of pixel clock pulses 8xe2x80x2 relative to pixel data components 5. Such drift causes sampling in signal transition regions 6 as shown by positional bracket A in which leading edges 9xe2x80x2 of the third through sixth of pixel clock pulses 8xe2x80x2 sample in transition regions 6 of analog signal waveform 4. Accordingly, the transition region data will be erroneous and the image information from adjacent non-sampled pixel data components 5 will be missing from the digitized video signal. If n is erroneously set large enough, pixel clock pulses 8xe2x80x2 may be so crowded that individual analog pixel data components 5 may be double-sampled. On the other hand, if n is set too small (i.e. the frequency is too low), the resulting dispersion of pixel clock pulses 8xe2x80x2 results in a rightward drift in which sampling may also occur in signal transition regions 6.
To minimize tracking and phase errors, some prior workers have provided some multimedia projection systems with manual controls that permit an operator to adjust the number n and the phase of pixel clocks pulses 8. The controls are adjusted until the projected image appears satisfactory to the eye of the operator. While manual controls are usually effective in achieving an acceptable image quality, adjusting such manual controls is time-consuming and inhibits the user-friendliness of the multimedia projection system.
Accordingly, other prior workers have developed automated pixel clock adjusting techniques. For example, U.S. Pat. No. 5,657,089 for VIDEO SIGNAL PROCESSING DEVICE FOR SAMPLING TV SIGNALS TO PRODUCE DIGITAL DATA WITH INTERVAL CONTROL describes an active video interval detector that generates data indicative of a difference between the detected active video interval and a required reference video interval. A video signal supply interval controller receives the difference data and provides frequency-dividing ratio control data to a programmable frequency divider that is part of the PLL controlling the pixel clock frequency. Over a number of video frames, the difference data is iterated toward zero to achieve accurate pixel clock tracking.
Unfortunately, some PCs generate video signals with an indefinite xe2x80x9cblackxe2x80x9d video level, which makes the transitions between blanked margin regions 3 and a black active video region 2 difficult to determine. Detecting this transition is particularly troublesome when running DOS, graphics, or other programs that generate images having black backgrounds. The problem is made worse by computer display driver systems that cut costs by eliminating the xe2x80x9cblacker than blackxe2x80x9d blanking level offset that is typically found in a standardized video signal format.
Another problem occurs when the analog video signal undergoes a large signal level transition, such as when active video region 2 has a white background color. Because of the fast rise time of such transitions, the analog video signal may include, and/or have overshoot and noise induced into it somewhere along its video processing chain. Moreover, the amount of overshoot on the initial transition in each line may be greater than the amounts of overshoot on subsequent transitions in the same line. The combination of overshoot differences and noise causes video signal value inaccuracies across each scan line so affected. This is particularly troublesome in multimedia projection display systems because projected image brightness is an important performance factor. The ADC and associated signal processing typically assigns a xe2x80x9cfull scalexe2x80x9d signal value to the largest amount of overshoot and noise affected portions of the analog video signal, which causes the real full scale signal values to be less than their overshoot and noise affected values. This problem diminishes the full brightness potential of the projected image.
What is needed, therefore, is an improved technique for detecting the active video region and for correcting erroneous video signal values, thereby increasing projected image clarity and brightness.
An object of this invention is, therefore, to provide an apparatus and a method for reliably detecting the active video region of an analog video signal.
Another object of this invention is to provide an apparatus and a method for correcting erroneous video signal values.
A further object of this invention is to provide a video image projection system having increased image clarity and brightness.
A histogram is a list of occurrences of a predetermined parameter that falls within a predetermined range of parameter values over a specified collection period. In a preferred embodiment of this invention, a microcontroller and an Application Specific Integrated Circuit (xe2x80x9cASICxe2x80x9d) coact to provide at least one, and preferably several, continuously updating histograms for examining and counting real time video data that fall within programmable value ranges and rectangular regions of a video frame. The ASIC includes multiple histogram registers that count the numbers of video data values generated by an ADC that fall within the programmable ranges and regions during each frame of video data.
Video data include difficult to detect transitions between the inactive margins and the active video region of a frame. The transition may include a small step increase in pixel values between the inactive margins and the left and right edges of the active video region, and represents the difference between the blanking pulse and black video levels. Conventional active video region detectors often miss the blanking-to-black transition.
In a first embodiment of this invention, an active video region detector employs histograms to reliably detect the blanking-to-black transitions in a video frame. The microcontroller loads registers in the ASIC to accumulate histograms of low pixel values occurring within rectangular regions corresponding to columns of video data. Histograms collected for columns including the inactive margins reveal that pixel values are clustered in first sets of very low values representing blanking and/or noise levels. Histograms collected for columns including the transition in the active video region reveal that pixel values are further clustered in second sets of low values representing black pixel values. The microcontroller scans the histogram registers to identify the left-most column in which the second set of pixel values is clustered, which column marks the left edge of the active video region. The right edge of the active video region is detected in a similar manner by collecting histograms of the right most columns. However, to identify the right edge, the microcontroller scans the histogram registers to identify the right-most column in which the black pixel values is located. The microcontroller or ASIC then generates an active video signal corresponding to the interval between detection of the left and right edges of the active video region.
As described in the background of this invention, the analog video signal may include, and/or have overshoot and noise induced into it somewhere along its video processing chain. Moreover, the amount of overshoot on the initial transition in each line may be greater than the amounts of overshoot on subsequent transitions in the same line. The combination of overshoot differences and noise causes video signal value inaccuracies across each scan line so affected. Accordingly, when the ADC digitizes the analog video signal, the highest value (brightest) pixels for each color are not always converted to a maximum digital value as intended in the original video signal.
Therefore, in a second embodiment of this invention, histograms are employed to detect the extent of the overshoot and noise condition and cause remapping of the upper range of pixel values to the maximum digital value. The microcontroller programs control registers in the ASIC such that a histogram of the highest pixel values is collected over a rectangular region corresponding to a majority of the active video region. The microcontroller then scans the histogram to locate pixel values having significantly fewer occurrences than most remaining pixel values. For example, the histogram may reveal a rapid decrease in the number of pixels having values greater than some large value. Accordingly, pixels having even greater values fall within the overshoot and noise range. The microcontroller employs this information to remap the upper range of data to the maximum digital values, thereby enhancing image brightness at the high end of the pixel value range.